package com.admin.business.venusSysMenu;

import com.baomidou.dynamic.datasource.annotation.DS;
import com.admin.business.background.entityClasses.VenusSysMenu;
import com.tiangong.framework.bo.CDO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @description: 权限菜单表
 * @create: 2022-07-08 19:04:49
 **/
@DS("user")
@Mapper
public interface VenusSysMenuDao{
    /**
     * 添加权限菜单表数据
     */
    void addVenusSysMenu(CDO cdo);

    /**
     * 添加权限菜单表数据
     */
    void addOrUpdateVenusSysMenu(CDO cdo);

    /**
     * 根据Id更新权限菜单表数据
     */
    int updateVenusSysMenuById(CDO cdo);

    /**
     * 根据Id删除权限菜单表数据
     */
    int deleteVenusSysMenuById(Integer menu_id);

    /**
     * 根据条件删除权限菜单表数据
     */
    int deleteVenusSysMenu(CDO cdo);

    /**
     * 根据id获取权限菜单表数据
     */
    CDO getVenusSysMenuById(Integer menu_id);

    /**
     * 根据条件获取权限菜单表数据
     */
    CDO getVenusSysMenu(CDO cdo);

    /**
     * 根据非空条件获取权限菜单表数据列表
     */
    List<CDO> getVenusSysMenuList(CDO cdo);

    /**
     * 根据非空条件获取权限菜单表数据列表条数
     */
    int getVenusSysMenuListCount(CDO cdo);

    /**
     * 根据混合条件获取权限菜单表数据列表
     */
    List<CDO> getVenusSysMenuListByCondition(CDO cdo);

    /**
     * 根据混合条件获取权限菜单表数据列表条数
     */
    int getVenusSysMenuListByConditionCount(CDO cdo);

    /**
     * 获取权限菜单表数据条数
     */
    int getVenusSysMenuCount(CDO cdo);


    // 获取菜单根据菜单集合
    List<VenusSysMenu> get_menu_by_menus(CDO cdo);

    List<VenusSysMenu> getParentList(CDO cdo);


    // 查询默认权限默认信息
    CDO getTacitAuthority(Integer menu_id);
}
